1. Technical Field
This invention generally relates to electronic system simulation and development, and more specifically relates to verifying and testing signal glitching in a hardware simulation and testing environment.
2. Background Art
Today's integrated circuit (IC) systems are often a highly complex combination of hardware and software that must function within very specific constraints in order for the computer system to operate as designed. Computer aided design tools allow IC designers to model a new design and to model how the new design will interact with and respond to other systems or components prior to production. Modeling with computer aided design tools can significantly accelerate the design process and reduce the time to market for IC systems, which can be a competitive advantage. This modeling is typically accomplished by using simulation systems that model hardware function and performance in software.
Simulation has long been a preferred method for verification of logical correctness of complex electronic circuit designs. Simulation is broadly defined as the creation of a model which, if subjected to specific stimuli, responds in a similar way to the manufactured and tested hardware. More specifically, the term “simulation” is typically used when such a model is implemented as a computer program. In contrast, the term “emulation” is the creation of a model using programmable (also known as reconfigurable) logic or field-programmable gate array (FPGA) devices.
Simulation/Emulation saves a significant amount of time and financial resources because it enables designers to detect design errors before the expensive manufacturing process is undertaken. Moreover, the design process itself can be viewed as a sequence of steps where the initial general concept of a new product is being turned into a detailed blueprint. Detecting errors at the early stages of this process also saves time and engineering resources.
The typical IC design process describes the IC logic in Very high speed IC Hardware Description Language (VHDL) or some other type of hardware description language, and then feeds the hardware description language into a simulation system. The designer then interacts with the simulation system to simulate and evaluate the operation of the proposed IC design by applying stimuli to the hardware design.
Referring now to FIG. 8, a prior art simulation system 800 for simulating a combination of design units 822, 824, 826 and 828. Design unit 1 (822) and design unit 4 (828) represent complex digital designs such as a micro-processor or graphics processor. Design unit 2 (824) and design unit 3 (826) represent physical link layers for design unit 1 and design unit 4 respectively. The physical link layer provides a high speed connection between two or more logic units. In the simulation system 800, there is typically a stimulation module 830 to communicate with the design units. The stimulation module 830 provides a means for injecting signals into the software model that includes a user interface 832 and a unit driver/checker 834. In some simulation systems the stimulation module may be called a simulation environment. In a preferred embodiment, the stimulation module is a simulation environment called Run Time eXecutable (RTX). The RTX is part of a simulation system developed by International Business Machines Corporation.
It is often difficult for the RTX to drive the signals between the physical link layers where the signals are driven by the software models of the hardware design units. In a simulation environment with multiple design units where the RTX can not readily drive the signals between the design units, there is a need for a way to inject noise or errors on these signals. Without a way to inject error signals into lines that are not readily controlled by the simulation system, the computer industry will continue to suffer with an inadequate simulation and testing environment.